package com.material.pound.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.material.common.annotation.Excel;
import com.material.common.core.domain.BaseEntity;

/**
 * 磅单奖惩记录对象 fuel_pound_incentive
 * 
 * @author ruoyi
 * @date 2025-06-20
 */
public class FuelPoundIncentive extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 磅单id */
    @Excel(name = "磅单id")
    private Long poundId;

    /** 规则id */
    @Excel(name = "规则id")
    private Long ruleId;

    /** 规则名称 */
    @Excel(name = "规则名称")
    private String ruleName;

    /** 区间开始 */
    @Excel(name = "区间开始")
    private String ruleStartValue;

    /** 区间结束 */
    @Excel(name = "区间结束")
    private String ruleEndValue;

    /** 实测值 */
    @Excel(name = "实测值")
    private String actualTesting;

    /** 奖惩：0.奖励，1.罚款  */
    @Excel(name = "奖惩：0.奖励，1.罚款 ")
    private Integer type;

    /** 奖惩计量单位：1.基于燃料重量，2.基于属性值 */
    @Excel(name = "奖惩计量单位：1.基于燃料重量，2.基于属性值")
    private Integer meteringUnit;

    /** 扣减方式：1.价格，2.按数量 */
    @Excel(name = "扣减方式：1.价格，2.按数量")
    private Integer deductMethod;

    /** 奖惩单位金额（价格是单价，数据量为比例） */
    @Excel(name = "奖惩单位金额", readConverterExp = "价=格是单价，数据量为比例")
    private BigDecimal rewardsPenaltiesRate;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPoundId(Long poundId) 
    {
        this.poundId = poundId;
    }

    public Long getPoundId() 
    {
        return poundId;
    }
    public void setRuleId(Long ruleId) 
    {
        this.ruleId = ruleId;
    }

    public Long getRuleId() 
    {
        return ruleId;
    }
    public void setRuleName(String ruleName) 
    {
        this.ruleName = ruleName;
    }

    public String getRuleName() 
    {
        return ruleName;
    }
    public void setRuleStartValue(String ruleStartValue) 
    {
        this.ruleStartValue = ruleStartValue;
    }

    public String getRuleStartValue() 
    {
        return ruleStartValue;
    }
    public void setRuleEndValue(String ruleEndValue) 
    {
        this.ruleEndValue = ruleEndValue;
    }

    public String getRuleEndValue() 
    {
        return ruleEndValue;
    }
    public void setActualTesting(String actualTesting) 
    {
        this.actualTesting = actualTesting;
    }

    public String getActualTesting() 
    {
        return actualTesting;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setMeteringUnit(Integer meteringUnit)
    {
        this.meteringUnit = meteringUnit;
    }

    public Integer getMeteringUnit()
    {
        return meteringUnit;
    }
    public void setDeductMethod(Integer deductMethod)
    {
        this.deductMethod = deductMethod;
    }

    public Integer getDeductMethod()
    {
        return deductMethod;
    }
    public void setRewardsPenaltiesRate(BigDecimal rewardsPenaltiesRate) 
    {
        this.rewardsPenaltiesRate = rewardsPenaltiesRate;
    }

    public BigDecimal getRewardsPenaltiesRate() 
    {
        return rewardsPenaltiesRate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("poundId", getPoundId())
            .append("ruleId", getRuleId())
            .append("ruleName", getRuleName())
            .append("ruleStartValue", getRuleStartValue())
            .append("ruleEndValue", getRuleEndValue())
            .append("actualTesting", getActualTesting())
            .append("type", getType())
            .append("meteringUnit", getMeteringUnit())
            .append("deductMethod", getDeductMethod())
            .append("rewardsPenaltiesRate", getRewardsPenaltiesRate())
            .append("createTime", getCreateTime())
            .toString();
    }
}
